1. Field of the Invention
Embodiments of the invention relate generally to electronic devices. More particularly, embodiments of the invention relate to electronic devices having a booting function.
2. Description of Related Art
Contemporary portable electronic devices tend to require increasingly large amounts of data storage capacity. For example, portable devices such as cellular phones, personal digital assistants (PDAs), and digital cameras may generate large amounts of data requiring temporary or permanent storage. In order to accommodate this increasingly large storage requirement, some portable devices have adapted to interoperate with detachable memory expansion cards or peripherals including non-volatile memory. Examples of the detachable memory expansion cards include so-called “thumb-drives” for personal computers, compact flash cards for digital cameras, and a wide variety of other cards adapted for use with different systems.
Most portable electronic devices are designed to store at least some form of personal information such as credit card or bank account information, personal phone numbers, photographs, social security information, and so on. However, unless precautions are taken, such personal information could be at risk from a potential hacker attack through various interfaces including those to connect the detachable memory expansion cards or peripherals.
For instance, one aspect of portable electronic devices that creates a potential security hazard is the use of a boot memory used to boot up the devices. In general, most electronic devices use a boot up operation to initialize a processor and to set up input/output functions for the devices. In the boot up operation, data and boot code are transferred from the boot memory to the processor. The boot code is used to set up low-level hardware functions of the device and to initialize the device's operating system (OS). Boot code is typically considered to be a part of a device's basic input/output system (BIOS).
FIG. 1 is a block diagram illustrating a main board including various elements of a conventional portable electronic device. Referring to FIG. 1, the main board comprises a main host platform 10 and a boot memory 20. Main host platform 10 comprises a central processing unit (CPU) 11, an internal bus 12, and a memory controller 13 operatively connected to CPU 11 via internal bus 12.
Boot memory 20 typically comprises non-volatile memory. Boot memory 20 stores boot code and boot data used to initialize CPU 11 and/or memory controller 13. In general, when the device of FIG. 1 is booted, power is applied to main host platform 10 and boot memory 20, and CPU 11, internal bus 12, and memory controller 13 are reset. Next, a program counter (PC) of CPU 11 is assigned an initial address or value stored in boot memory 20. CPU 11 uses the initial address to read boot code from boot memory 20 and then uses the boot code to boot an operating system (OS) for the device.
Unfortunately, the boot memory in many portable electronic devices undesirably increases the overall size of the main board, and therefore, the overall size of the device. In general, this tends to increase the cost of the device and lower its desirability. In addition, hackers may attempt to use the boot memory as a way to bypass security functions and access personal information stored in the portable electronic devices. Because of this potential security hazard, it may be desirable to introduce additional precautions to prevent tampering with sensitive data.